23

» WarCraft 3 / Проблема С Редактором карт / WorldEdit

Похожие вопросы:

ответ
unsinkable78, один из вариантов это большое количество однотипных триггеров с периодом
объедении их в 1
а лучше используй таймер вместо триггеров
unsinkable78, так же вероятно проблема в твоих массивах
ты судя по всему задаёшь им размер в 1000
из за чего при запуске игры твой массив заполняется ненужными значениями что забивает память и может приводить к лимиту потока (в вар3 у потока/триггера есть максимальное количество операций которые он может выполнить)
вот пример из твоего j файла
set i = 0
    loop
        exitwhen (i > 1000)
        set udg_squad[i] = CreateGroup()
        set i = i + 1
    endloop
этот код циклом от 0 до 1000 создаёт группы(1000 групп соответственно) и заносит их в массив squad
это тратит более 1000 операций
и таких моментов много
так же я видел места где ты использовал массивы вместо обычных переменных что тоже увеличивает затраты ресурсов и может приводить к лимиту потока
массивы нужно использовать лишь там где без них не обойтись

23

» WarCraft 3 / Боевая единица атакована

Похожие вопросы:

ответ
Melissa:
юнит получает урон
damage taken >= здоровье triggering unit
б.е. - set life to (1 + damage taken)
Юнит получает урон и умирает ещё до того как ты даёшь хп триггерно.
ответ
Как как, я уже выкладывал наработку...
Суть в баге некоторых морфов, после чего боевая единица выполняет первый отданный приказ до талого, никакие действия игрока на это не повлияют но панель приказов не скрывается, кнопки нажимаются но ничего не происходит.
ответ
отлов урона делается через событие юнит получил урон
всё остальное описано в статье
от тебя только мозг понадобится и хотя бы 1 рука
атачить можно через хэш/юзердату/хэндл
ответ
Это вроде с Хайва, у меня в сохранённых лежит.
ответ
я имею ввиду что у меня работало все когда слот игрока занимал компьютер
боты просто прокачивались юзали предметы если давался вижн боту и включался триггер ai ближнего боя
может поставить нужно объект какой на карту
ничего и не нужно больше если делаешь МОБА
Мало здоровья вручную отправляешь на фонтан
надо предмет выдаешь через триггер
но прописывать все преминения способностей и подъем предметов тригерами это знатный гемор
Мне нужен просто базовый функционал автоприменение способностей и подъем предметов использование предметов

может есть какой универсальный AI чтобы мог управлять любым стандартным героем в игре?

23

» WarCraft 3 / Оживший огонь

Похожие вопросы:

ответ
Ну вопервых не сделаешь, клоны ожившего огня не настраивается,это багнутая абилка. Можно редактировать только оригинал. Во вторых орбы не стак, так что делай кастом оживший огонь.
ответ
Работает только оригинал , точнее с него настройки на все остальные идут клоны спелла, настройки смотри в опен доте, так то она работ, но вот орб и ннсовместтмость с другими пассивками, это не очень.
ответ
XGM Bot:
Похожие вопросы:

ответ
Ну вопервых не сделаешь, клоны ожившего огня не настраивается,это багнутая абилка. Можно редактировать только оригинал. Во вторых орбы не стак, так что делай кастом оживший огонь.
ответ
Работает только оригинал , точнее с него настройки на все остальные идут клоны спелла, настройки смотри в опен доте, так то она работ, но вот орб и ннсовместтмость с другими пассивками, это не очень.

ответ
он багованный немного и работает только стандартный скилл повелителя огня (я про увеличение урона), копии этого скила не работают. Для любых эффеектов есть триггеры. Функционал РО очень ограничен
ответ
Можешь просто поставить модель снаряда как у юнита, тогда она не будет отличаться. Иначе легче просто написать способность через триггеры такую же

23

» WarCraft 3 / Очень приятная оборона

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Подозрение в нарушении правил сайта. Требуется валидация человеком.
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Suspicion of violating site rules. Human validation required.
// CID0
23

» Серия кампаний "Паладин" / Паладин 3

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Число вставленных изображений: 0, а требуется не менее 3
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Count of inserted images is: 0, but required not less than 3
// CID3
23

» WarCraft 3 / Warlords Mod

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Подозрение в нарушении правил сайта. Требуется валидация человеком.
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Suspicion of violating site rules. Human validation required.
// CID0
23

» WarCraft 3 / Как отследить удар из невидимости?

Похожие вопросы:

ответ
Рассмотрим на примере модельки простого огра, у него есть анимация атаки slam и удар дубиной по земле
  1. Старт атаки
  2. Создаём упреждающий в области впереди героя (маркер, ну эффект ауры например), чтобы игрокам было понятно что скоро тут что-то произойдёт
  3. Проигрываем анимацию "attack slam" или нужную другую, для замаха дубиной, если надо больше и не хватает стандартной скосроти, замедляем скорость анимации
  4. Визуально подгадываем или упытным путём определяем время касания дубиной полна от 1 до 4 сек, на ваше усмотрение
  5. Запускаем новый разовый таймер с нужным периодом, и как таймер сработает, создаём спец эффект, и наносим урон юнитам в области эффекта
(это самый простейший способ, хоть на гуи можно сделать)
ответ
По детекту урона, без мемхака - просто по урону от юнита, при этом создавать триггер детекта при замахе из инвиза, но такое себе.
Так же с помощью мемхака, там изи, т.к у виндвалка есть свой флаг, на который можно проверить отслеживая урон.

23

» WarCraft 3 / Отслеживающийся

Похожие вопросы:

ответ
Есть такое событие, герой воскрес.
ответ
Проблема решена.
У объекта(магазина) не было способности "Лавка: купить предмет" и "Выбор героя".

23

» WarCraft 3 / бесконечная молния

Похожие вопросы:

ответ
Ничего нельзя, сфера не предназначена для чаннелинг абилок, делайте полностью триггерный вариант.

23

» WarCraft 3 / Отслеживание юнитов

Похожие вопросы:

ответ
Глянь тут: xgm.guru/p/100/182139
ответ
Событие - юнит атакован и есть начало замаха, только начала замаха будет отслеживаться у АТАКУЮЩЕГО юнита
ответ
rsfghd:
СерафимКречет, берёшь всех живых юнитов в группу и сравниваешь количество
Bcе, забей, решение нашел сам. Создал переменную цельночисленую, куда отдельным триггером добавляется +1 за появление вражеского юнита и -1 за гибель, тоже отдельным. По итогу, выполняется действие ифэлс, где при гибели вражеского юнита проверяется переменная, и если она равна нулю, то выполняется нужное действие, а если нет, то не выполняется.
ответ
Вопрос закрыт, нашел решение: проверять координаты работника в соответствии с картой путей здания.
ответ
1)орб
2)перевести все скилы в триггерный урон(не от триггера будет считатся атакой)
  1. мемхак или ujapi

23

» WarCraft 3 / WinMPQ

Похожие вопросы:

ответ
Лич по тихому сидел правило баги, 1 карту запустил а вторую правил....
ответ
Меняешь расширение с .w3n на .mpq (хоть простым переименованием) и открываешь архив любым MPQ-едитором (лично я пользовался этим xgm.guru/p/wc3/ladiks-mpq). После экспортируешь оттуда нужную тебе карту.
ответ
Black Soul:
AdmPraudmur, прикрепил к сообщению.
ответ
ответ
Desgul, хоть бы написал как ты её достал, а то чел так и не понял как это делать)
У меня нет винмпк, не хочет устанавливаться, поэтому покажу на примере мпк мастера

23

» WarCraft 3 / Иногда не создаются TextTag

Похожие вопросы:

ответ
но когда срабатывает одновременно в некоторых случаях текст остается, в чем причина не знаю
причина в бж функциях
избавься от бж и всё норм будет

23

» WarCraft 3 / Сломать карту

Похожие вопросы:

ответ
Adantarn, запускай редактор в совместимости с Windows 7. Ещё перезагрузи компьютер (именно перезагрузи, а не выключи и включи).
Также дело может быть в настройках графики. Выкрути их в игре на максимум или в редакторе, убрал галку "Использовать настройки игры" и поставив свою конфигурацию.
Если всё это не поможет, то удаляй всех юнитов и расставляй их уже на новом компьютере.
ответ
JNGP вроде по умолчанию делает бекапы... Если они еще не затерлись - доставайте последний рабочий бекап и продолжайте делать что делали. Желательно делая ручные бекапы на ключевых этапах разработки потому как автоматические не всегда спасают.
ответ
Решено. Удивительно, но карта открывается в новой версии редактора на патче 1.31. Сохранил в новом патче, воспользовался конвертером и все работает... Странно. Могу ли я что-то сломать таким способом?

Bergi_Bear, смогу))

Проблема и правда была в каменных подьемах, которые я пытался заменить. После их удаления на новом патче и конвертирование в 1.26 - все работает. Можно ли как-то удалять декорацию не открывая карту.

Проблема была в том, что каменному подъему был задан нестандартный цвет на миникарте.
ответ

23

» WarCraft 3 / Будущая точка

Похожие вопросы:

ответ
Да. Вызвать новые функции можно. Вот здесь подробнее, как это сделать, на примере задачи по установке preview:
ответ
Ну так нужно вручать юниту пустышку с прикрепленным спецэффектом, к примеру абилку предмета - кольцо защиты +1, бонус защиты на 0 ставим и в настройках способности выбираем нужный спецэффект и точку крепления. Вручаем и удаляем эту абилку юниту, делаем абилку перманентной функцией UnitMakeAbilityPermanent (или как то так).
ответ
Ps.: Может это ↴
C:\Users\Имя Пользователя\Documents\Warcraft III\WorldEditPreferences.txt
ответ
Вам нужно сменить анимацию запуска снаряда? Мне кажется, что это могут делать большинство способностей, вот тебе пустышки, которые ничего не делают
Нужно правильно настраивать. Задать модель, скорость снаряда, если не ошибаюсь. И че то еще. Ну ладно.
Грозовая атака 'Alit' - эта визуальная способность. При атаке на цель пускает молнию. Также у цели появляются спецэффекты (их можно нацепить). Если поставить длительность графики и задержку графики на ноль, то молния исчезнет. Вместо нее можно использования поле "Графика - Анимация дистанционной атаки" - вставляете анимацию снаряда, редактируете скорость и прочее (но и у юнита нужно убрать анимацию дистанционной атаки). Запускается при атаке определенных целей (указывается в абилке). Еще можно молнию задавать (чтобы молнию пускала) - "Графика - Эффекты молнии"
Едкое дыхание 'Acor' - эту пассивную способность можно отнести к визуальной пустышке. В описании написано, что "Сгусток едкого вещества, разрушающее постепенно здание". В характеристике действительно указано поле "урона в секунду" с длительностью 5 секунд. Бафф никакой не указан в абилке, но он есть в разделе заклинаний (баффов). При нанесений урона по зданий не наблюдается никакого едкого вещества, ни ежесекудного урона. Технологию изучал - тоже ничего. Одна хороша фишка - заменяет анимацию снаряда атаки на указанную в абилке анимацию снаряда.
ПРИМЕЧАНИЕ: заметил, что анимацию снаряда может не только выше перечисленные, но и все-все-все пассивные и активные. Все что нужно это задать в "Графика - Анимация дистанционной атаки" модель. И у вас меняется атака снаряда. Например, с шансом запускаешь огонь или прочее. Возможно здесь применимы даже и пустышки. Еще можно задать анимацию юнита (вмахи руками, удар мечом и др)

23

» WarCraft 3 / Дамми

Похожие вопросы:

ответ
Перед тем как наносить урон у тебя должна стоять проверка каждого из юнитов.
Там будет стандартная проверка на то является ли юнит врагом, живым, и... Вот тут надо добавить условие на то что юнит НЕ находится в группе (переменная).
И когда будешь наносить урон - добавляй этого юнита в свою группу (таким образом он больше не будет попадать в неё повторно).
Так же в конце действия скилла, в тот момент когда дамми умирает/удаляется, нужно очистить и/или удалить группу.
А еще - обычно частота движение в 0.01 сек не является необходимой, и её можно уменьшить до 0.03 хотя бы.
ответ
Но конкретно тут, я вижу, что одному юниту мгновенно отдаются приказы кинуть молотки по всем юнитам в области.
Он не кидает молоток мгновенно, пока повернется, пока покурит, пока кастанет, конечно он ничего не успевает.
Для нанесения урона и стана можно использовать варстомп, его нужно кастануть ровно единожды.
Если хочется можно наносить урон триггерно а стомпом только станить.
ответ
rsfghd:
Гуванч
утечек это не вызовет

не?
ответ
Ну вообще да, на счёт ауры замедления ты прав. Самое простое в твоём случае это просто юнит с аурой в центре области, на которую применяется "Огненный Столб". Если конечно щамедление должно быть привязано именно к этой области (там где будет урон), а не к самим юнитам, по которым этот урон пройдёт.
Не зависимо от того каким именно образом применяется способнлсть, на область или в указанную точку, ты всегда можешь ссылаться на "ability being cast point" (или что-то типа того, переводится как "точка пнименения способности"), которая выдаст тебе точку применения заклинания, либо центр области применения "Огненного столба" (т.к. технически это одно и тоже, только область каста это когда к точке каста прерисовывается радиус воздействия).
Вот и отлавливаешь событие "юнит приводит способность в действие", проверяешь усвловием какую именно, и после этого создаёшь юнита в позиции куда был применён спелл.
В идеале ещё бы точку это зачистить, а для этого сначала надо её отдельно создать используя переменную, потом сослаться на неё, и в конце удалить.
ответ
LastUchiha, добавить доп эффекты совсем не проблема для этой системы:
Я сделал кастом скриптом для того чтобы сразу удалять эффект после воспроизведения. Так-же можно в РО в канале эффекты добавить/менять, как уже работает на примере. Карту прикрепил.

23

» WarCraft 3 / jass

Похожие вопросы:

ответ
Неужели создание и удаление одного хэндла вызывает так много нагрузки?
Начни двигать снаряды и внезапно окажется, что хэндл не один, а 60 в секунду. И это только на один снаряд.
ответ
human1, читаем внимательно описание.

23

» WarCraft 3 / Скорость бега

Похожие вопросы:

ответ
ответ
Можно через редактор объектов, не изменяя модель. Найди строчки "Графика - Анимация: скорость ходьбы" и "Графика - Анимация: скорость бега" и измени значения, как тебе нужно (уменьшение - ускоряет анимацию, увеличение - замедляет анимацию).
ответ
написать систему скорости движения юнитов
ответ
Отравленное оружие 'Aven'/'ACvs'/Яд 'Aspo' - Buff Placer, позволяющая замедлять противника при атаке, и наносить ему урон каждую секунду. При атаке накидывает на противника дебафф (яд). Этот дебафф остается на противнике несколько секунд, повторная атака ядом продлевает длительность дебаффа. Этот дебафф наносит ежесекундный урон, и понижает скорости атак, движения. Характеристики:
"Данные - Урона в секунду" - ежесекудно наносит урона.
ВНИМАНИЕ: поля "Данные - Фактор скорости атаки" и "Данные - Фактор скорости перемещения" - перепутаны, в "фактор скорости атаки" указывают понижение в процентах скорости движения, а в "фактор скорости перемещения" указывают понижение в процентах скорости атаки (1.00 = 100%, 0.5 = 50%, 1.5 = 150%, 100% или 0% - не будет понижать). Понижение скорости идет по формуле:
скорость = текущая скорость - (текущая скорость * процент понижения).
раскрыть
скорость движения юнита меняется от текущей скорости, и может упереться в ограничение установленных констант (мин = 150, макс = 400, если будет ниже скажем 100, то автоматом игра подправляет на 150). Скорость атаки изначально равняется 1 (100%), может по такой же формуле снижаться. например, снижение на 0.3. 1-(1*0.3)=0.7 - скорость атаки. или можно просто вычесть 1-0.3=0.7
У отравленного оружия есть два типа дебаффа: "Яд (не буферизуется)", "Яд (буферизуется)". Что это значит? Буферизация связана с настройкой "Тип буфера" (Тип буфера: здесь можно указать несколько галочек, всего их 4: "Урон" - суммирует ли ежесекудный эффект отравление, "Скорость боя" - удваивается ли коэффициент-множитель от скорости атаки (будет в несколько раз больше снижена скорость боя врага), "Движение" - удваивается ли коэффициент-множитель от скорости движения (будет в несколько раз понижена скорость противника), "Убить юнита" - при отравлении, типа может убить ядом). Эффекты от буфера складываются не повторной атакой одного юнита, а двух юнитов (если второй юнит с такой же абилкой нанесет атаку, то будут складываться эффекты). При буферизации урон суммируется, и коэффициенты скоростей складываются. Ежесекундный урон от отравления относится к типу атаки "заклинание", не понижается защитой, можно отнести к магическому урону
ответ
Buratino111, шифт зажимаеш, тыкаешь на поле где скорость левой кнопкой мыши два раза (что бы открыть) и вводишь -30 , жмёшь ок

rsfghd, у меня и с галочкой и без галочки меняется , сначало хотел ему это посоветовать (редактор перезагружал даже щас что бы проверить когда изменял установку галочки) . Чел сверху написал лкм + шифт ) он так и делал походу

23

» WarCraft 3 / Illidan model

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Должен присутствовать файл одного из типов: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
There must be a file of one of the following types: mdl, mdx, fbx, obj, max, blend, mb, ma, 3ds, dae, dxf, usd, usdz, stl, stp, wrl, m2, zip, 7z, rar, tar, gz, apk, gzip, jar, lzip, tgz, tbz2, bz2, zipx, zz, dmg, ipg, z, iso
// CID1
23

» WarCraft 3 / Исчезают способности

Похожие вопросы:

ответ
~8gabriel8:
ответ
Давай разберём моё решение (ответ номер 2), я его не раскрыл полностью потому что ждал наводящих вопросов, но ты его проигнорировал, потому что не понял ни слова?
Ответ номер 3, тебе рассказали тоже самое, но более расширенно и даже карту приложили
Ответ номер 8, про спеллбуки, снова тоже решение отлично, но ты его игнорируешь и спрашиваешь про постройку зданий альянса
Не понятно что такое спеллбук? (это дефолтный скил предмета "книга заклинаний"), мы же тебя не тролим, а отвечаем конкретными решениями, но если у тебя настолько глобальное непонимание, что ты даже не знаешь как задать следующий вопрос, мб тебе не стоит заниматься варкрафт моддингом?
И ТУТ не надо быть программистом, просто тыкаешь кнопочки и задаешь след вопросы:
  • А что такое этот ваш спеллбук спеллбук?
  • а как мне добавить 4?
  • а как сделать чтобы не было слияния заклинаний
  • а как сделать, чтобы по активации заклинания происходило изучение исследования?
  • а продажу юнита?
  • а каст способности?
  • а постройку?
Мы не бежим тебе делать готовую карту/наработку ибо:
  • на это нужно время, даже продвинутым (от получаса до 3х в зависимости от концентрации)
  • карту можно сделать а ты пропадёшь даже лайк не поставив или даже не прочитав
  • получи ты готовое, то ты вообще ничего не поймёшь тогда и станешь паразитом, человеком который отнимает время других людей и эти люди делают ему карту по чуть чуть, есть люди, которые занимаются таким паразитизмом около 10 лет, не буду говорить имена, меня сразу все поняли о ком я
ответ
Black Soul:
Сделал повышение защиты через моментально активируемый предмет. Эффекты от предмета, думаю, сможешь поменять.
Повышение защиты не действует на невосприимчивых к магии юнитов.
ответ
Возможно есть ещё один триггер с этим событием и с этим условием (способностью)?
ответ
Абилка так вшита в игру. при использовании ополчения, забирает/удаляет все пасивные спосбности юнита.
решение, использовать аналог на морфе. с самой способностью ничего не сделать. дело закрыто.

23

» WarCraft 3 / Вылет редактора при сохранении

Похожие вопросы:

ответ
Я ж ведь не просто так пишу, правда?
какое отношение этот пункт имеет к проблеме?
короче покопался в wtg файле
у тебя раньше использовался какой то странный файл гуишных функций
скорее всего он лежал либо в папке с вар3, либо в папке с джнгп и потом его удалили
одна из функций (возвращает булеан) вообще была представлена как набор пробелов
узнавать что это была за функция мне было лень поэтому я её заменил на false (использовалась в условии)
это было в триггере ctart, так что поправь там условие
так же заменил IssueImmediateOrderBJ на IssueImmediateOrder
вот открываемая в редакторе карта
проверь все гуишные триггеры на предмет ошибок
ответ
Оказывается причина была намного сложнее)))
Тот самый триггер-комментарий был обычным триггером (т.е хранил всю информацию о действиях и т.д), но отображался как комментарий
Поэтому помогло только его удаление
ответ
Попробуй мою версию, там ScExp должен работать. Но это для вц3 1.24 и ниже

По scexp можешь прочекать разницу в wehack.lua с твоим jngp

xgm.guru/p/wc3/jassnewgenpack-r вот тут последняя сборка jngp с модулем scexp
ответ
Проблема решена.Это было из-за модели. Углубляться в подробности не буду.

23

» WarCraft 3 / ищу хорошую РПГ карту

Похожие вопросы:

ответ
Сделать триггер для проверки кода, ну и организовать систему для его считывания и поверь это очень много всего, придется продумать.
Если коротко ты цифрами будешь (условно) сохранять своего героя, каждый набор цифр отвечает за какой то параметр героя, силу, ловкость, уровень, предметы и так далее, когда я говорю что это очень много всего придется продумать так и есть, тебе придется создать базу данных, для всех чисел и все проверять при введении команды, для защиты можно сверять суму чисел и проверять героя за которого играет игрок.
Мой тебе совет, не поленись и вбей в поиск "сделать команду save для карты варкрафт 3", на твое удивление там будет то что тебе нужно, уже на второй ссылке.

23

» WarCraft 3 / Оптимизация кода

Похожие вопросы:

ответ
SetUnitPosition довольно тяжелая операци, юзайте SetUnitX\Y в конце полета юзай SetUnitPosition для того чтобы юнит не залетел в непроходимое место.
Фильтр просто ужас, ну кто так фильтры делает?
Проверка на 'Aloc', я в ужасе на кой черт проверять на дамми если GropEnumUnitsInRange\Rect не выделяет москитов, тока EnumOfPlayer может пикнуть москитов, остальное не пикает их, на то они и москиты...
Вот как выглядит нормальный фильтр без локалок и прочего
function EnemyFilter takes nothing returns boolean
    set bj_lastFilterUnit = GetFilterUnit( )
    return GetUnitState( bj_lastFilterUnit, UNIT_STATE_LIFE ) > 0.405 and IsUnitEnemy( bj_lastFilterUnit, bj_groupEnumOwningPlayer ) and not( IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MAGIC_IMMUNE ) or IsUnitType( bj_lastFilterUnit, UNIT_TYPE_MECHANICAL ) or IsUnitInvulnerable( bj_lastFilterUnit ) )
endfunction
UnitDamageTargetEx - красиво но нафиг ненужно обводить в отдельную функцию с тучей аргументов + жутко неудобно, 100500 аргументов у функции и фиг знает за что какой от вечает, прямо так UnitDamageTarget, без отдельной функции.
Туча констант, тоже хорошо тока длят наработок, на деле ставь конкретные значения или юзай Difine vjass'a.
ответ
globals
    constant integer Order_attack = 851983
endglobals

function CreateCreepByTypeIdAndSend takes p player, integer id, real x, real y, real dx, real dy returns nothing
   local unit u = CreateUnit(p, id, x, y, 0.)
   call IssuePointOrderById(u, Order_attack, dx, dy) // Можно упростить и сделать как у ScopteRectuS
   set u = null
endfunction

function Trig_CreepsCenter1_Actions takes nothing returns nothing
    call CreateCreepByTypeIdAndSend(Player(0), 'o000', 0., 5300., 0., -5300.)
    call CreateCreepByTypeIdAndSend(Player(0), 'o001', 0., 5300., 0., -5300.)

    call CreateCreepByTypeIdAndSend(Player(1), 'h000', -5300., 0., 5300., 0.)
    call CreateCreepByTypeIdAndSend(Player(1), 'h001', -5300., 0., 5300., 0.)
	
    call CreateCreepByTypeIdAndSend(Player(3), 'n000', 0., -5300., 0., 5300.)
    call CreateCreepByTypeIdAndSend(Player(3), 'n001', 0., -5300., 0., 5300.)
	
    call CreateCreepByTypeIdAndSend(Player(6), 'u000', 5300., 0., -5300., 0.)
    call CreateCreepByTypeIdAndSend(Player(6), 'u001', 5300., 0., -5300., 0.)
endfunction

function InitTrig_CreepsCenter1 takes nothing returns nothing
    set gg_trg_CreepsCenter1 = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_CreepsCenter1, 1.00 )
    call TriggerAddAction( gg_trg_CreepsCenter1, function Trig_CreepsCenter1_Actions )
endfunction

Нужно 40 одинаковых юнитов - циклы и массивы в помощь.
ответ
а, ещё одно, я слышал что GetUnitGoldCost может вызвать краш, мб на рефе пофиксили, но на 1.26 вроде нет

GetUnitGoldCost, GetUnitWoodCost и GetUnitBuildTime критуют, если передать равкод, содержащий буквы верхнего регистра.
ответ
VinerX, вджасс на рефе работает, но лучше тогда бы на луа тебе сделали)
если сомневаешься то сделаю на джассе тогда уж

вот, я без понятия работает ли, потому что лень создавать юнитов под эти условия, да и может накосячил случайно где-то и работает не так как задумано, поможет или нет не знаю, но попробуй что-ли(?)
код
function Trig_Income_Cond takes nothing returns boolean
    local integer i
    set udg_lastFilterUnit = GetFilterUnit( )
    
    set i = GetUnitFoodMade( udg_lastFilterUnit )
    if IsUnitInGroup( udg_lastFilterUnit, udg_GroupEnded ) or ( i == 150 or i == 75 ) then
        set udg_Inc = udg_Inc + i
    endif
    
    return false
endfunction

function Trig_Income_and_Disincome_Copy_Enum_Func takes nothing returns nothing
    local integer i
    set udg_TempPlayer = GetEnumPlayer( )
    
    set udg_Inc = 0
    call GroupEnumUnitsOfPlayer( udg_LocalOtrad, udg_TempPlayer, udg_IncomeCondition )
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00, "|cffffcc00Доход золота (каждые 15 секунд):|r |cff00ff00" + I2S( udg_Inc ) + "|r" )
    
    set i = GetPlayerTechCount( udg_TempPlayer, 'R004', true ) * 75
    set udg_Inc = udg_Inc + i
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00, "|cffffcc00Дополнительный доход (от улучшений):|r |cff00ff00" + I2S( i ) + "|r" )
    
    set i = GetPlayerUnitCount( udg_TempPlayer, false ) * 25
    set udg_Inc = udg_Inc - i
    
    call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Потребление на войска:|r |c00FF0303" + I2S( i ) + "|r" )
    
    if udg_Inc > 0 then
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cff00ff00" + I2S( udg_Inc ) + " (Профицит)|r" )
    elseif udg_Inc == 0 then
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cffffff000 (Нулевой бюджет)|r" )
    else
        call DisplayTimedTextToPlayer( udg_TempPlayer, 0.00, 0.00, 5.00,  "|cffffcc00Итого баланс:|r |cffff0000" + I2S( -udg_Inc ) + " (Дефицит)|r" )
    endif
    
    call SetPlayerState( udg_TempPlayer, PLAYER_STATE_GOLD_GATHERED, GetPlayerState( udg_TempPlayer, PLAYER_STATE_GOLD_GATHERED ) + udg_Inc )
    set udg_Inc = 0
endfunction

function Trig_Income_and_Disincome_Copy_O_Actions takes nothing returns nothing
    call ForForce( bj_FORCE_ALL_PLAYERS, function Trig_Income_and_Disincome_Copy_Enum_Func )
endfunction

//===========================================================================
function InitTrig_Income_and_Disincome_Copy_O takes nothing returns nothing
    set gg_trg_Income_and_Disincome_Copy_O = CreateTrigger(  )
    call DisableTrigger( gg_trg_Income_and_Disincome_Copy_O )
    call TriggerRegisterTimerExpireEvent( gg_trg_Income_and_Disincome_Copy_O, udg_Compteur1 )
    call TriggerAddAction( gg_trg_Income_and_Disincome_Copy_O, function Trig_Income_and_Disincome_Copy_O_Actions )
    
    set udg_IncomeCondition = Condition( function Trig_Income_Cond )
endfunction
ответ
создать DAMI юнита
dummy* - дамми

вот пример выбора юнитов в темповую группу без утечек с использованием точек

есть несколько функций для выбора юнитов
native GroupEnumUnitsInRange takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRangeOfLoc takes group whichGroup, location whichLocation, real radius, boolexpr filter returns nothing
native GroupEnumUnitsInRect takes group whichGroup, rect r, boolexpr filter returns nothing
native GroupEnumUnitsOfPlayer takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
native GroupEnumUnitsOfType takes group whichGroup, string unitname, boolexpr filter returns nothing
native GroupEnumUnitsSelected takes group whichGroup, player whichPlayer, boolexpr filter returns nothing
у некоторых есть аналоги с потолком выбора (кол-ва юнитов)

DestroyGroup( ... ) нужно использовать только если ты постоянно создаёшь группу до этого (в основном это требуется, если ты должен сделать действия с теми же юнитами спустя какое-то время, например выбрать кого-то там в области, наложить эффект, подождать 2 секунды и продамажить), но для темповых действий лучше иметь одну группу и просто очищать её